The present invention generally relates to the field of computer packet-switched networks and more particularly, is directed to a method and apparatus for flexible bandwidth allocation in a high capacity packet switch.
As known in the prior art, packet switches transfer packets from their inputs to the specified outputs. It is important to be able to flexibly share an output bandwidth among the inputs. In other words, inputs should be guaranteed to get the negotiated bandwidth even if some other inputs are overloaded. A switch with output buffers is usually a set of statistical multiplexers. Packets coming from different inputs are stored in the output buffer and transmitted according to some scheduling policy. For example, a weighted round-robin (WRR) policy would provide to the inputs their reserved bandwidth shares. However, the capacity of a switch with output buffers is limited by the speed of the output buffers.
In contrast, the capacity of a switch with input buffers is not limited similarly because packets are stored at the line bit-rate. Switches with input buffers can provide a much higher switching capacity which is why they have attracted much interest recently in the published literature. In a switch with input buffers, a packet competes not only with the packets of other inputs bound for the same output, but also with the packets of the same input bound for other outputs.
Several proposed protocols calculate the maximal matching between inputs and outputs that does not leave input-output pair unmatched if there is traffic between them. However, these protocols do not provide flexible sharing of the output bandwidth among the inputs in a switch with input buffers. Accordingly, there is a need in the art for an improved method and apparatus for such purposes.